Zadig 文档
Zadig
教程
博客
论坛
关于
中文英文
Zadig
教程
博客
论坛
关于
Zadig v3.4
Loading...
     编辑文档
     反馈问题
     社区讨论

    本页导航

    K8s YAML 模板

    背景

    K8s YAML 模板适用于使用 K8s YAML 部署的项目。支持用户在通用的模板上新建服务,提供更大的可扩展性。

    # 新建模板

    可将 K8s 资源的 YAML 配置文件抽象,在项目中新建服务时基于 K8s YAML 模板对服务进行定义。

    • 依次访问资产管理→模板库→K8s YAML 进入到 K8s YAML 模板库的管理页面。点击+按钮 → 输入模板名字 → 填写模板内容 → 保存模板。

    创建 K8s YAML 模板

    如果模板中有使用自定义变量,可在右侧自定义变量区域配置变量的默认值,详细信息参考 变量列表。

    创建 K8s YAML 模板

    # 变量列表

    包括系统内置变量和自定义变量,点击自定义变量下方的键值对、YAML 文件图标可切换变量视图,可修改服务变量的类型及默认值并校验正确性,支持字符串、单选、布尔、YAML 四种类型。

    • 系统内置变量:包括 $T-Project$ 和 $T-Service$,可直接在 K8s YAML 模板中使用。在项目中基于模板新建服务后,二者会自动被替换为对应的项目名称和服务名称。
    • 自定义变量:以 YAML 代码段的形式来声明,通过形如 {{.key}} 或者 Go template 的方式在模板中使用。

    提示

    1. 在项目中基于模板新建服务时可修改自定义变量的默认值
    2. 自定义变量的 key 中不支持中划线
    3. Go template 的使用参考 官方文档(opens new window)

    除了支持使用常量值,还支持使用 服务配置 中的内置变量来为模板中的自定义变量赋值,比如下图示例中,使用 $Service$给 cmd 赋值。

    K8s YAML 模板变量的高阶用法

    # 使用模板

    在 K8s YAML 项目中新建服务时可选择从模板导入服务,参考使用模板新建服务。

    # 查看引用列表

    点击 K8s YAML 模板右侧的引用列表,即可查看引用该模板的项目和服务列表。

    查看 K8s YAML 模板引用列表

    # 应用到服务

    点击应用到服务,即可使用最新的模板内容以及自定义变量更新所有开启了自动同步的服务配置。

    提示

    1. 对服务开启自动同步操作参考 使用模板新建服务
    2. 当自定义变量有改动时,对服务配置的更新逻辑参考 更新服务配置

    应用到服务

    # 示例

    # K8s YAML 模板

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: $T-Service$
      labels:
        app.kubernetes.io/name: $T-Project$
        app.kubernetes.io/instance: $T-Service$
      annotations:
    {{.annotations}}
    spec:
      selector:
        matchLabels:
          app.kubernetes.io/name: $T-Project$
          app.kubernetes.io/instance: $T-Service$
      replicas: {{.replicas_num}}
      template:
        metadata:
          labels:
            app.kubernetes.io/name: $T-Project$
            app.kubernetes.io/instance: $T-Service$
        spec:
          containers:
            - name: $T-Service$
              image: ccr.ccs.tencentyun.com/koderover-public/$T-Service$:latest
              imagePullPolicy: Always
              env:
                - name: DOWNSTREAM_ADDR
                  value: "b"
                - name: HEADERS
                  value: "x-request-id"
                {{- if .skywalking}}
                - name: ENHANCE
                  value: "true"
                {{- end}}
              command:
                - /workspace/{{.cmd}}
              ports:
              {{- range .ports_config}}
                - protocol: {{ .protocol }}
                  containerPort: {{.container_port}}
              {{- end}}
              resources:
                limits:
                  memory: {{.memory_limit}}
                  cpu: {{.cpu_limit}}
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45

    # 自定义变量

    cmd: $Service$
    cpu_limit: 50m
    memory_limit: 50Mi
    replicas_num: 1
    skywalking: true
    value: value
    ports_config:
      - protocol: TCP
        container_port: 20221
      - protocol: UDP
        container_port: 21221
    annotations: |1-
        owner: "John Doe"
        team: "DevOps"
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

    ← 客户控制台操作Helm Chart 模板→

    资源
    教程
    论坛
    博客
    公司
    关于
    客户故事
    加入我们
    联系我们
    微信扫一扫
    hello@koderover.com

    © 2026 筑栈(上海)信息技术有限公司 沪 ICP 备 19000177 号 - 1

    •  跟随系统
    •  浅色模式
    •  深色模式
    •  阅读模式